package org.francho.apps.unutopia_android;
import android.app.Activity;
import android.content.Intent;
import android.content.pm.PackageInfo;
import android.content.pm.PackageManager.NameNotFoundException;
import android.net.Uri;
import android.os.Bundle;
import android.os.CountDownTimer;
import android.text.util.Linkify;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.TextView;
public class AboutActivity extends Activity {
private CountDownTimer timer;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_about);
setVersionNumber();
enableLinks();
}
private void setVersionNumber() {
final TextView versionView = (TextView) findViewById(R.id.about_version);
if (null == versionView) {
return;
}
try {
final PackageInfo pkgInfo = getPackageManager().getPackageInfo(
getPackageName(), 0);
final String format = getString(R.string.about_version);
final String versionTxt = String.format(format,
pkgInfo.versionName, pkgInfo.versionCode);
versionView.setText(versionTxt);
} catch (NameNotFoundException e) {
versionView.setText(R.string.about_unknown_version);
}
}
private void enableLinks() {
setAboutLink();
enableLinksInText(R.id.about_intro, getString(R.string.about_text));
enableLinksInText(R.id.about_legal, getString(R.string.about_license));
}
private void setAboutLink() {
final TextView text = (TextView) findViewById(R.id.about_subtitle);
if (null == text) {
return;
}
text.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
Intent intent = new Intent(Intent.ACTION_VIEW);
intent.setData(Uri.parse("http://francho.org/about"));
startActivity(intent);
}
});
}
private void enableLinksInText(int resId, String source) {
final TextView view = (TextView) findViewById(resId);
if (null == view) {
return;
}
view.setFocusable(true);
view.setLinksClickable(true);
Linkify.addLinks(view, Linkify.ALL);
}
}